<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
        伪数组(arrayLike/类数组)具有length 属性的对象
         是一种按照索引号存储数据且方法，
         因为是对象 所以不能调用数组的方法 比如forEach()、push() 等等
        */

        /* 
        类数组对象（伪数组）满足以下条件
         1.对象必须有属性，并指定数组的长度，否则转化后就是空数组
         2.数组对象的属性必须是数值或者数值型字符串，并且从0，1，2，3
 
         类（伪）数组对象，转化为 Array.from(obj)


        arr.push()    在数组的末尾添加一个或多个元素，并返回数组的新长度
        */

        function sum() {
            console.log(typeof arguments);
            console.log(arguments);

            let temp = Array.from(arguments);
            temp.push('张飞');
            console.log(temp);
        }
        sum(1, 2, 3, 4, 5);

        let obj = {
            0: '剑圣',
            1: true,
            2: 25,
            3: '船长',
            length: 4
        };

        let result = Array.from(obj);
        console.log(obj);
        result.push('张飞');
        console.log(result);
    </script>
</body>

</html>